home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 2
/
Gold Medal Software Volume 2 (Gold Medal) (1994).iso
/
print
/
prntsc10.arj
/
PRINTSCR.ASM
next >
Wrap
Assembly Source File
|
1993-07-09
|
2KB
|
71 lines
; PRINTSCR.ASM --- Tony Doimeadios - 12/19/92
; this will invoke the alternate print screen on the video card
; this enables 43-line displays to correctly print on the printer
; (instead of just the top 25 lines) when the PRINT SCREEN key is pressed
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
Message DB 'PRINTSCR 1.0',13,10
DB '(C) 1992 Tony "Sandy" Doimeadios',13,10
DB 'Tony Doimeadios',13,10
DB 'Post Office Box 1345',13,10
DB 'Fernandina Beach, FL 32035-1345',13,10
DB 13,10
DB 'Released to the Public Domain',13,10
DB 13,10
DB 13,10
DB 'PrintScr has been installed.',13,10
DB 'This program will "fix" the PRINTSCREEN key',13,10
DB 'to print either 25, 43 or 50 lines instead of',13,10
DB 'the hardcoded 25 lines regardless of video mode.',13,10
DB 'This is *NOT* a TSR.',13,10,'$'
.CODE
mov ax, @Data ;set data segment pointer
mov ds,ax ;move it into dx
mov ax,0 ;zero out register
mov ah,12h ;function # to select alt print screen
mov bl,20h ;ditto
int 10h ;call BIOS to do it
mov bx,OFFSET Message ;point to string to print
call PrintString ;print it
jmp short Done
;---------------------------------------------------------------------
; Subroutine to print a string on the display.
;
; Input:
; DS:BX = pointer to string to print
;
; Output: None
;
; Registers destroyed: None
;
PrintString PROC
push ax
push dx ;preserve registers in this sub
mov ah,9 ;DOS print string function #
mov dx,bx ;point DS:DX to the string to print
int 21h ;invoke DOS to print the string
pop dx ;restore registers we changed
pop ax
ret
PrintString ENDP
;---------------------------------------------------------------------
Done:
mov ax,0 ;terminate program
mov ah,4Ch
int 21h
END